package com.kazusa.myservlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;

import java.io.IOException;

/*
* session对象的销毁
*           1.默认到期时间
*               tomcat中session，偶然的存活时间为30min，即你不操作界面的时间，一旦有操作，session就会重新计时
*               可以在tomcat中的conf文件目录下的web.xml文件中修改
*           <!-- session 默认的最大不活动时间。单位：分钟。 -->
*           <session-config>
*           <session-timeout>30</session-timeout>
*           </session-config>
*           2.手动设置到期时间
*              可以到程序中自己设定session的生命周期
*              通过session.setMaxInactiveInterval（int）来设定session的最大不活动时间，单位为秒
*              可以通过getMaxInactiveInterval()方法查看当前session的最大不活动时间
*           3.立即销毁（用的最多的）
*           可以通过session.invalidate()让session立即失效
*           4.关闭浏览器
*           session底层依赖cookie，cookie对象默认只在浏览器内存中存活，关闭浏览器失效
*           5.关闭服务器
*
* */
@WebServlet("/SessionDestroy")
public class SessionDestroy extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session=request.getSession();
        session.setAttribute("uname","admin");

//        //session对象的最大不活动时间
//        System.out.println("session的最大不活动时间："+session.getMaxInactiveInterval());
//
//        //修改最大不活动时间
//        session.setMaxInactiveInterval(15);
        //立即销毁
        session.invalidate();

    }
}
